The present invention relates to the field of information handling-systems, and, more particularly, to a system and method for customizing and displaying Web pages by utilizing cooperation and distribution of tasks between a client and a server.
In network computer systems, a plurality of client computers are typically connected together, and to one or more server computers in the network. A network may be established through the hardwired interconnection of a plurality of clients and servers in a local network, or on a wider scale such as an intranet, or the Internet or World Wide Web, which may include telecommunication links. In any case, the clients and servers may act as central control units for providing access to files, programs, and program execution to the individual computers connected within the network.
The World Wide Web is the Internet""s multimedia information retrieval system. In the Web environment, client machines effect transactions to Web servers using the Hypertext Transfer Protocol (HTTP), which is an application protocol providing users access to files (e.g., text, graphics, images, animation, sound, video, etc.) using a standard page description language known as Hypertext Markup Language (HTML). HTML provides basic document formatting and allows a developer to specify xe2x80x9clinksxe2x80x9d to other servers and files. In the Internet paradigm, a network path to a server is identified by a Uniform Resource Locator (URL) having a specified syntax for defining a network connection. Use of an HTML-compatible browser (e.g., Netscape Navigator or Microsoft Internet Explorer) at a client machine involves specification of a link via the URL. In response, the client makes a request to the server identified in the link and receives in return a document formatted according to HTML.
Many different browser applications are available for use in viewing Web pages from client machines. Examples of currently available browsers include Netscape Navigator and Microsoft Internet Explorer. In addition, many different types of client machines are used, or have been proposed for use, to provide access to intranets, the Internet, and other networks. Examples of currently used client machines include desktop computers, portable or notebook computers, hand-held or palmtop computers, Personal Digital Assistants (PDAs), and other types of Web appliances. For example, a data processing system may be connected to a television set and used in lieu of a personal computer to provide Web access through a conventional remote control device associated with the system unit. Such a system enables the television to become, in effect, a xe2x80x9cWeb appliance.xe2x80x9d The viewer can rapidly switch between conventional television and Internet access using the remote control unit. All of the conventional Internet access tools and navigational functions are preferably built in to the system and thus hidden to the user. Other types of client machines may be available in the near future.
Web page authors design their Web content using standard design constraints and HTML formatting constructs. Nevertheless, it is quite often the case that a given Web page looks different when viewed using different browsers and/or on different client machines, e.g., a personal computer running Netscape Navigator versus a palmtop computer using a custom browser designed for the particular palmtop computer. Web designers may design multiple versions of the same or similar content in order to attempt to maintain consistent Web page display across different browser types and client machines. However, it would be an insurmountable task to design a version of a Web page for every possible client machine/browser combination. Furthermore, multiple Web page versions must then be supported on a given server, resulting in slower page access time and redundant or wasted Web site storage capacity.
In addition to the problems associated with multiple browser types, and the ever-increasing number of client machine types, it is often the case that an individual client wishes to view a Web page in a particular way. For example, a visually impaired user may desire to receive Web pages without multimedia elements, so that a text reader can more easily read the content to him. A user may even wish to view Web pages in different ways at different times. For example, if the user is in a hurry, he may wish to view Web pages without any graphics images, whereas if the user has more time, he may wish to view Web pages with all bandwidth intensive objects. Lighter weight clients, such as PDAS, have less processing power, and therefore may have difficulty rendering processor-intensive objects. Other constraints may include bandwidth limitations or cost, or security concerns regarding embedded executable code, such as Java or ActiveX.
Consequently, it would be desirable to have a system and method for customizing a network file for display on a client machine. It would also be desirable to customize the file based on multiple factors, such as browser type, client machine type, current conditions, user preferences, corporate requirements, etc. It would further be desirable to perform the customization in the most efficient manner possible.
Accordingly, the present invention is directed to a system, method, and computer-usable medium for customizing and displaying a network file by distributing customization tasks between a client and a server. The network file, such as a Web page, is customized based on multiple factors, such as browser type, client machine type, current conditions, user preferences, and corporate requirements.
A client sends a request for a network file, such as a Web page, to a server. The request may include information regarding the client machine type, browser, and customization options (i.e. preferences). Customization options may include personal (i.e. user) options and group (i.e. department, corporate, etc.) options. These options, along with the client machine type and browser, are used by the server to determine how to customize the requested network file. The server obtains the requested network file, and a server-side customization program customizes the file. The server-side customization program may also analyze the network file, and may embed return customization information in the customized network file. The client receives the customized network file, including the return customization information, from the server. A client-side customization program then performs further customization on the network file. This customization may be based on the return customization information from the server, other user preferences known by the client, and/or current conditions at the client. After the client-side customization is complete, the final customized file is displayed by the client.
An advantage of the present invention is that the customization of a network file, such as a Web page, is accomplished via shared, interactive customization between the client and the server. This approach utilizes the advantages of both client-side customization and server-side customization. Another advantage of the present invention is that network files may be customized based on multiple factors. A further advantage of the present invention is. that customization is performed in an efficient manner.